Tutorial link: https://www.r-bloggers.com/covid-19-explore-your-visualizer-degrees-of-freedom/

library(plotly)
Error in library(plotly) : there is no package called ‘plotly’
plot_covid19_spread(
  covid19_dta, type = "deaths", min_cases = 100, min_by_ctry_obs = 7,
  edate_cutoff = 40, per_capita = FALSE, log_scale = TRUE,
  cumulative = TRUE, change_ave = 7,
  highlight = c("FRA", "DEU", "ITA", "ESP", "GBR", "USA"),
  intervention = NULL
)

p <- plot_covid19_spread(
  covid19_dta, type = "deaths", min_cases = 300, min_by_ctry_obs = 7,
  edate_cutoff = 40, per_capita = FALSE, log_scale = FALSE,
  cumulative = FALSE, change_ave =  1,
  highlight = c("FRA", "DEU", "ITA", "ESP", "GBR", "USA"),
  intervention = NULL
)
ggplotly(p)
geom_GeomLabelRepel() has yet to be implemented in plotly.
  If you'd like to see this geom implemented,
  Please open an issue with your example code at
  https://github.com/ropensci/plotly/issuesgeom_GeomLabelRepel() has yet to be implemented in plotly.
  If you'd like to see this geom implemented,
  Please open an issue with your example code at
  https://github.com/ropensci/plotly/issuesgeom_GeomLabelRepel() has yet to be implemented in plotly.
  If you'd like to see this geom implemented,
  Please open an issue with your example code at
  https://github.com/ropensci/plotly/issuesgeom_GeomLabelRepel() has yet to be implemented in plotly.
  If you'd like to see this geom implemented,
  Please open an issue with your example code at
  https://github.com/ropensci/plotly/issuesgeom_GeomLabelRepel() has yet to be implemented in plotly.
  If you'd like to see this geom implemented,
  Please open an issue with your example code at
  https://github.com/ropensci/plotly/issuesgeom_GeomLabelRepel() has yet to be implemented in plotly.
  If you'd like to see this geom implemented,
  Please open an issue with your example code at
  https://github.com/ropensci/plotly/issues
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKVHV0b3JpYWwgbGluazogaHR0cHM6Ly93d3cuci1ibG9nZ2Vycy5jb20vY292aWQtMTktZXhwbG9yZS15b3VyLXZpc3VhbGl6ZXItZGVncmVlcy1vZi1mcmVlZG9tLwoKYGBge3J9CnJlbW90ZXM6Omluc3RhbGxfZ2l0aHViKCJ0aG9tYXNwODUvdHJhbnNmb3JtciIpCgojIHN1cHByZXNzUGFja2FnZVN0YXJ0dXBNZXNzYWdlcyh7CiMgICBsaWJyYXJ5KHRpZHl2ZXJzZSkKIyAgIGxpYnJhcnkodGlkeWNvdmlkMTkpCiMgfSkKCmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KHRpZHljb3ZpZDE5KQpsaWJyYXJ5KHBsb3RseSkKCmNvdmlkMTlfZHRhIDwtIGRvd25sb2FkX21lcmdlZF9kYXRhKHNpbGVudCA9IFRSVUUsIGNhY2hlZCA9IFRSVUUpCgpwbG90X2NvdmlkMTlfc3ByZWFkKGNvdmlkMTlfZHRhKQpgYGAKCmBgYHtyfQpwbG90X2NvdmlkMTlfc3ByZWFkKAogIGNvdmlkMTlfZHRhLCB0eXBlID0gImRlYXRocyIsIG1pbl9jYXNlcyA9IDEwMCwgbWluX2J5X2N0cnlfb2JzID0gNywKICBlZGF0ZV9jdXRvZmYgPSA0MCwgcGVyX2NhcGl0YSA9IEZBTFNFLCBsb2dfc2NhbGUgPSBUUlVFLAogIGN1bXVsYXRpdmUgPSBUUlVFLCBjaGFuZ2VfYXZlID0gNywKICBoaWdobGlnaHQgPSBjKCJGUkEiLCAiREVVIiwgIklUQSIsICJFU1AiLCAiR0JSIiwgIlVTQSIpLAogIGludGVydmVudGlvbiA9IE5VTEwKKQpgYGAKCmBgYHtyfQpwIDwtIHBsb3RfY292aWQxOV9zcHJlYWQoCiAgY292aWQxOV9kdGEsIHR5cGUgPSAiZGVhdGhzIiwgbWluX2Nhc2VzID0gMzAwLCBtaW5fYnlfY3RyeV9vYnMgPSA3LAogIGVkYXRlX2N1dG9mZiA9IDQwLCBwZXJfY2FwaXRhID0gRkFMU0UsIGxvZ19zY2FsZSA9IEZBTFNFLAogIGN1bXVsYXRpdmUgPSBGQUxTRSwgY2hhbmdlX2F2ZSA9ICAxLAogIGhpZ2hsaWdodCA9IGMoIkZSQSIsICJERVUiLCAiSVRBIiwgIkVTUCIsICJHQlIiLCAiVVNBIiksCiAgaW50ZXJ2ZW50aW9uID0gTlVMTAopCgpsaWJyYXJ5KGdnYW5pbWF0ZSkKCnAgKyB0cmFuc2l0aW9uX3RpbWUoZGF0ZSkKYGBgCgoK